React Hooks
함수 컴포넌트에서 React state와 생명주기 기능(lifecycle features)을 연동, 연결 (hook into) 해주는 함수
훅의 장점 여러 훅들 끼리 재조립 가능하므로, 재사용 가능한 로직을 쉽게 만들 수 있다. 로직을 한 곳에 모을 수 있다. 훅은 단순한 함수이기 때문에 정적타입 언어에서도 타입을 쉽게 작성할 수 있다.
useState
const [state, setState] = useState(initialState);
상태 유지 값과 그 값을 갱신하는 함수를 반환
최초 렌더링 하는동안, 반환된 state(state) 는 첫번째 전달된 인자 (initialState)의 값과 같다. setState 는 state 를 갱신할 떄 사용 -> 새 state 값을 받아 컴포넌트 리렌더링을 큐에 등록한다.
setState(newState);
useEffect 에 전달된 함수는 화면에 렌더링이 완료된 후에 수행되게 될 것이다.
정리
effect 는 종종 컴포넌트가 화면에서 저게될 때 정리해야 하는 리소스를 만든다. 구독이나 타이머 Id 같은 것이다. 이것을 수행하기 위해서 useEffect 로 전달된 함수는 정리 (clean-up) 함수를 반환할 수 있다.
지연 이벤트 동안에 레이아웃 배치와 그리기를 완료한 후 발생한다. 대부분 작업이 브라우저에서 화면을 업데이트하는 것을 차단해서는 안되기 때문이다.